When doing DnD between windows the tab label is set as the child of
the DnD info window. If this is happening the remove method of
GtkNotebook should not unparent the tab label, since it's been already
unparented, belongs to the DnD window and will be properly destroyed
when the DnD is over.
https://bugzilla.gnome.org/show_bug.cgi?id=639875
gtk_widget_unparent (page->child);
tab_label = page->tab_label;
- if (tab_label)
+ /* Do not unparent the tab label if it's already in another
+ hierarchy. It means we are in the middle of a DnD and it's
+ already taken care of. */
+ if (tab_label && NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page))
{
g_object_ref (tab_label);
gtk_notebook_remove_tab_label (notebook, page);